1. Field of the Invention
The present invention generally relates to communication and computation among several processors connected by a communication network. Examples of such systems include distributed processing systems and client/server data processing systems. More particularly, the invention is directed to a method of assuring secure communication and distributed computation in a distributed environment which contains insecure communication links and processors.
2. Description of the Prior Art
The need for ensuring secure communication between processors communicating over insecure channels is becoming increasingly acute. Solutions are usually based on cryptographic methods that provide secrecy and authentication of the information sent among a pair (or a set) of processors if the processors, but only the processors, know some secret cryptographic key. However, in many applications, processors may occasionally fall under the control of a malicious adversary. The adversary would be able to find the cryptographic keys stored in the controlled processors and foil the security of the communication.
At any given instant in time, a large fraction of the processors may be controlled by a malicious adversary. The identities of the processors controlled by the adversary may change with time, as the adversary gains control of more processors and is expelled from others. When a processor is controlled by the adversary, the adversary learns the information held by the invaded processor and may even maliciously alter the behavior of this processor. The adversary may also have access to all, or a subset of, the communication links. That is, the communication links may be tapped, and even tampered with so that messages may be maliciously lost, modified or generated. Such adversarial activity also may be maliciously coordinated.